]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
extension-tool: Use Extension base class in templates
authorFlorian Müllner <fmuellner@gnome.org>
Mon, 10 Jul 2023 09:50:15 +0000 (11:50 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Sun, 30 Jul 2023 07:29:44 +0000 (10:29 +0300)
The Extension/Preferences classes are where we will focus for
future extension convenience API, so developers should be
encouraged to use them as entry points.

Adjust the existing templates to do that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2838>

subprojects/extensions-tool/src/templates/indicator/extension.js
subprojects/extensions-tool/src/templates/plain/extension.js

index 35784d846fe9c27c99280f07f51b4db96276196e..d3afaac08a0ec60b18a9c963fc35a4cd2bbe3f08 100644 (file)
  * SPDX-License-Identifier: GPL-2.0-or-later
  */
 
-const GETTEXT_DOMAIN = 'my-indicator-extension';
-
 import GObject from 'gi://GObject';
 import St from 'gi://St';
 
-const ExtensionUtils = imports.misc.extensionUtils;
+import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
+
 const Main = imports.ui.main;
 const PanelMenu = imports.ui.panelMenu;
 const PopupMenu = imports.ui.popupMenu;
 
-const _ = ExtensionUtils.gettext;
-
 const Indicator = GObject.registerClass(
 class Indicator extends PanelMenu.Button {
     _init() {
@@ -46,16 +43,10 @@ class Indicator extends PanelMenu.Button {
     }
 });
 
-export default class Extension {
-    constructor(metadata) {
-        this._uuid = metadata.uuid;
-
-        ExtensionUtils.initTranslations(GETTEXT_DOMAIN);
-    }
-
+export default class IndicatorExampleExtension extends Extension {
     enable() {
         this._indicator = new Indicator();
-        Main.panel.addToStatusArea(this._uuid, this._indicator);
+        Main.panel.addToStatusArea(this.uuid, this._indicator);
     }
 
     disable() {
index 5abdf67929b9eb01c9e918c14382611b5ca5b14f..7c73f8e58727e732cfa67f49af31e2e05a2e48a4 100644 (file)
  *
  * SPDX-License-Identifier: GPL-2.0-or-later
  */
+import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
 
-export default class Extension {
-    constructor() {
-    }
-
+export default class PlainExampleExtension extends Extension {
     enable() {
     }